package com.ruoyi.project.pc.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 合同对象 t_contract
 * 
 * @author luaoran
 * @date 2023-06-06
 */
public class Contract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 签署人主键ID */
    @Excel(name = "签署人主键ID")
    private Long userId;

    /**
     * 合同名称
     */
    private String contractName;

    /** 签署人姓名 */
    @Excel(name = "签署人姓名")
    private String signName;

    /** 合同上传地址 */
    @Excel(name = "合同上传地址")
    private String url;

    /** 合同图片地址 */
    @Excel(name = "合同图片地址")
    private String imageUrl;

    /** 签署时间 */
    @Excel(name = "签署时间", width = 30, dateFormat = "yyyy-MM-dd")
    @DateTimeFormat(pattern ="yyyy-MM-dd HH:mm:ss" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date signTime;

    /**
     * 0:查系统合同;  1:查用户签署的合同
     */
    private String status;

    /**
     * 0:商家端合同; 1:司机端合同
     */
    private String type;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getContractName() {
        return contractName;
    }

    public void setContractName(String contractName) {
        this.contractName = contractName;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public void setSignName(String signName)
    {
        this.signName = signName;
    }

    public String getSignName() 
    {
        return signName;
    }
    public void setUrl(String url) 
    {
        this.url = url;
    }

    public String getUrl() 
    {
        return url;
    }
    public void setImageUrl(String imageUrl) 
    {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl() 
    {
        return imageUrl;
    }
    public void setSignTime(Date signTime) 
    {
        this.signTime = signTime;
    }

    public Date getSignTime() 
    {
        return signTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("signName", getSignName())
            .append("url", getUrl())
            .append("imageUrl", getImageUrl())
            .append("signTime", getSignTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
